﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using IndexMarkSilverlightClient.IndexMarkServiceReference;

namespace IndexMarkSilverlightClient.Classes
{
    /// <summary>
    /// Класс знает о ресурсах-картинках, и задает объектам путь к этим картинкам в зависимости от параметров
    /// </summary>
    public class ImageRepository
    {
        public static readonly ImageRepository Instance = new ImageRepository();

        /// <summary>
        /// Метод задает путь к картинке для узла дерева
        /// </summary>
        /// <param name="item">узел дерева без картинки</param>
        /// <returns>узел дерева с картинкой</returns>
        public String SetTreeItemImage(IndexMarkItem item)
        {
            if (item is IndexMarkServiceReference.Section)
            {
                return "Resources/Folder_Closed.png";
            }
            if (item is Characteristic)
            {
                switch ((item as Characteristic).Category.Name)
                {
                    case "Потенциал": return "/IndexMarkSilverlightClient;component/Views/Resources/Category/Potential.png";
                    case "Активность": return "/IndexMarkSilverlightClient;component/Views/Resources/Category/Activity.png";
                    case "Результат": return "/IndexMarkSilverlightClient;component/Views/Resources/Category/Result.png";
                    case "Результат экстра-класса": return "/IndexMarkSilverlightClient;component/Views/Resources/Category/ExtraResult.png";
                }
            }
            return "";
        }

        public string SetTreeItemImage(DTOBase item)
        {
            if (item is Respondent)
            {
                return "/IndexMarkSilverlightClient;component/Views/Resources/User.png";
            }
            else
            {
                return "/IndexMarkSilverlightClient;component/Views/Resources/Team.png";
            }
        }

        //public VolumsPPS SetVolumeImage(VolumsPPS item)
        //{
        //    if (item.Category == "Потенциал")
        //    {
        //        item.ImagePath = "Resources/Category/Potential.png";
        //        return item;
        //    }
        //    if (item.Category == "Активность")
        //    {
        //        item.ImagePath = "Resources/Category/Activity.png";
        //        return item;
        //    }
        //    if (item.Category == "Результат")
        //    {
        //        item.ImagePath = "Resources/Category/Result.png";
        //        return item;
        //    }
        //    if (item.Category == "Результат экстра-класса")
        //    {
        //        item.ImagePath = "Resources/Category/ExtraResult.png";
        //        return item;
        //    }
        //    else
        //    {
        //        return item;
        //    }
        //}

        //public QuestionablyValue SetVolumeImage(QuestionablyValue item)
        //{
        //    if (item.Category == "Потенциал")
        //    {
        //        item.ImagePath = "Resources/Category/Potential.png";
        //        return item;
        //    }
        //    if (item.Category == "Активность")
        //    {
        //        item.ImagePath = "Resources/Category/Activity.png";
        //        return item;
        //    }
        //    if (item.Category == "Результат")
        //    {
        //        item.ImagePath = "Resources/Category/Result.png";
        //        return item;
        //    }
        //    if (item.Category == "Результат экстра-класса")
        //    {
        //        item.ImagePath = "Resources/Category/ExtraResult.png";
        //        return item;
        //    }
        //    else
        //    {
        //        return item;
        //    }
        //}

        public object SetTreeItemImage(Type type)
        {
            if (type == typeof(Respondent))
            {
                return "/IndexMarkSilverlightClient;component/Views/Resources/User.png";
            }
            else
            {
                return "/IndexMarkSilverlightClient;component/Views/Resources/Team.png";
            }
        }
    }

}
